# Appendix I
CP/M Error Messages

Messages come from several different sources. CP/M displays error messages when there are errors in calls to the Basic Disk Operating System (BDOS). CP/M also displays messages when there are errors in command lines. Each utility supplied with CP/M has its own set of messages. The following lists CP/M messages and utility messages. One might see messages other than those listed here if one is running an application program. Check the application program's documentation for explanations of those messages.

?
  DDT. This message has four possible meanings:
  - DDT does not understand the assembly language instruction.
  - The file cannot be opened.
  - A checksum error occurred in a HEX file.
  - The assembler/disassembler was overlayed.

  ABORTED

    PIP. You stopped a PIP operation by pressing a key.

  ASM Error Messages
  D
    Data error: data statement element cannot be placed in specified data area.
  E
    Expression error: expression cannot be evaluated during assembly.
  L
    Label error: label cannot appear in this context (might be duplicate label).
  N
    Not implemented: unimplemented features, such as macros, are trapped.
  O
    Overflow: expression is too complex to evaluate.
  P
    Phase error: label value changes on two passes through assembly.
  R
    Register error: the value specified as a register is incompatible with the code.
  S
    Syntax error: improperly formed expression.
  U
    Undefined label: label used does not exist.
  V
    Value error: improperly formed operand encountered in an expression.

  BAD DELIMITER
    STAT. Check command line for typing errors.

  Bad Load
    CCP error message, or SAVE error message.

  Bdos Err On d:
    Basic Disk Operating System error on the designated drive: CP/M replaces d: with the drive specification of the drive where the error occurred. This message is followed by one of the four phrases in the situations described below.

  Bdos Err On d: Bad Sector
    This message appears when CP/M finds no disk in the drive, when the disk is improperly formatted, when the drive latch is open, or when power to the drive is off. Check for one of these situations and try again. This could also indicate a hardware problem or a worn or improperly formatted disk. Press ^C to terminate the program and return to CP/M, or press RETURN to ignore the error.

  Bdos Err On d: File R/O
    You tried to erase, rename, or set file attributes on a Read-Only file. The file should first be set to Read-Write (R/W) with the command: STAT filespec $R/W.

  Bdos Err On d: R/O
    Drive has been assigned Read-Only status with a STAT command, or the disk in the drive has been changed without being initialized with a ^C. CP/M terminates the current program as soon as you press any key.

  Bdos Err on d: Select
    CP/M received a command line specifying a nonexistent drive. CP/M terminates the current program as soon as you press any key. Press RETURN or CTRL-C to recover.

  Break "x" at c
    ED. "x" is one of the symbols described below and c is the command letter being executed when the error occurred.

    # | Search failure. ED cannot find the string specified in an F, S, or N command.
    ? | Unrecognized command letter c. ED does not recognize the indicated command letter, or an E, H, Q, or O command is not alone on its command line.
    O | The file specified in an R command cannot be found.
    > | Buffer full. ED cannot put any more characters in the memory buffer, or the string specified in an F, N, or S command is too long.
    E | Command aborted. A keystroke at the console aborted command execution.
    F | Disk or directory full. This error is followed by either the disk or directory full message. Refer to the recovery procedures listed under these messages.

  CANNOT CLOSE DESTINATION FILE--{filespec}
    PIP. An output file cannot be closed. You should take appropriate action after checking to see if the correct disk is in the drive and that the disk is not write-protected.

  Cannot close, R/O
  CANNOT CLOSE FILES
    CP/M cannot write to the file. This usually occurs because the disk is write-protected.

    ASM. An output file cannot be closed. This is a fatal error that terminates ASM execution. Check to see that the disk is in the drive, and that the disk is not write-protected.

    DDT. The disk file written by a W command cannot be closed. This is a fatal error that terminates DDT execution. Check if the correct disk is in the drive and that the disk is not write-protected.

    SUBMIT. This error can occur during SUBMIT file processing. Check if the correct system disk is in the A drive and that the disk is not write-protected. The SUBMIT job can be restarted after rebooting CP/M.

  CANNOT READ
    PIP. PIP cannot read the specified source. Reader cannot be implemented.

  CANNOT WRITE
    PIP. The destination specified in the PIP command is illegal. You probably specified an input device as a destination.

  Checksum error
    PIP. A HEX record checksum error was encountered. The HEX record that produced the error must be corrected, probably by recreating the HEX file.

  CHECKSUM ERROR
  LOAD ADDRESS hhhh
  ERROR ADDRESS hhhh
  BYTES READ:
  hhhh:
    LOAD. File contains incorrect data. Regenerate HEX file from the source.

  Command Buffer Overflow
    SUBMIT. The SUBMIT buffer allows up to 2048 characters in the input file.

  Command too long
    SUBMIT. A command in the SUBMIT file cannot exceed 125 characters.

  CORRECT ERROR, TYPE RETURN OR CTRL-Z
    PIP. A HEX record checksum was encountered during the transfer of a HEX file. The HEX file with the checksum error should be corrected, probably by recreating the HEX file.

  DESTINATION IS R/O, DELETE (Y/N)?
    PIP. The destination file specified in a PIP command already exists and it is Read-Only. If you type Y, the destination file is deleted before the file copy is done.

  Directory full
    ED. There is not enough directory space for the file being written to the destination disk. You can use the OXfilespec command to erase any unnecessary files on the disk without leaving the editor.

    SUBMIT. There is not enough directory space to write the $$$.SUB file used for processing SUBMITs. Erase some files or select a new disk and retry.

  Disk full
    ED. There is not enough disk space for the output file. This error can occur on the W, E, H, or X commands. If it occurs with X command, you can repeat the command prefixing the filename with a different drive.

  DISK READ ERROR--{filespec}
    PIP. The input disk file specified in a PIP command cannot be read properly. This is usually the result of an unexpected end-of-file. Correct the problem in your file.

  DISK WRITE ERROR--{filespec}
    DDT. A disk write operation cannot be successfully performed during a W command, probably due to a full disk. You should either erase some unnecessary files or get another disk with more space.

    PIP. A disk write operation cannot be successfully performed during a PIP command, probably due to a full disk. You should either erase some unnecessary files or get another disk with more space and execute PIP again.

    SUBMIT. The SUBMIT program cannot write the $$$.SUB file to the disk. Erase some files, or select a new disk and try again.

  ERROR: BAD PARAMETER
    PIP. You entered an illegal parameter in a PIP command. Retype the entry correctly.

  ERROR: CANNOT OPEN SOURCE, LOAD ADDRESS hhhh
    LOAD. Displayed if LOAD cannot find the specified file or if no filename is specified.

  ERROR: CANNOT CLOSE FILE, LOAD ADDRESS hhhh
    LOAD. Caused by an error code returned by a BDOS function call. Disk might be write-protected.

  ERROR: CANNOT OPEN SOURCE, LOAD ADDRESS hhhh
    LOAD. Cannot find source file. Check disk directory.

  ERROR: DISK READ, LOAD ADDRESS hhhh
    LOAD. Caused by an error code returned by a BDOS function call.

  ERROR: DISK WRITE, LOAD ADDRESS hhhh
    LOAD. Destination disk is full.

  ERROR: INVERTED LOAD ADDRESS, LOAD ADDRESS hhhh
    LOAD. The address of a record was too far from the address of the previously-processed record. This is an internal limitation of LOAD, but it can be circumvented. Use DDT to read the HEX file into memory, then use a SAVE command to store the memory image file on disk.

  ERROR: NO MORE DIRECTORY SPACE, LOAD ADDRESS hhhh
    LOAD. Disk directory is full.

  Error on line nnn message
    SUBMIT. The SUBMIT program displays its messages in the format shown above, where nnn represents the line number of the SUBMIT file. Refer to the message following the line number.

  FILE ERROR
    ED. Disk or directory is full, and ED cannot write anything more on the disk. This is a fatal error, so make sure there is enough space on the disk to hold a second copy of the file before invoking ED.

  FILE EXISTS
    You have asked CP/M to create or rename a file using a file specification that is already assigned to another file. Either delete the existing file or use another file specification.

    REN. The new name specified is the name of a file that already exists. You cannot rename a file with the name of an existing file. If you want to replace an existing file with a newer version of the same file, either rename or erase the existing file, or use the PIP utility.

  File exists, erase it
    ED. The destination filename already exists when you are placing the destination file on a different disk than the source. It should be erased or another disk selected to receive the output file.

  ** FILE IS READ/ONLY **
    ED. The file specified in the command to invoke ED has the ReadOnly attribute. Ed can read the file so that the user can examine it, but ED cannot change a Read-Only file.

  File Not Found
    CP/M cannot find the specified file. Check that you have entered the correct drive specification or that you have the correct disk in the drive.

    ED. ED cannot find the specified file. Check that you have entered the correct drive specification or that you have the correct disk in the drive.

    STAT. STAT cannot find the specified file. The message might appear if you omit the drive specification. Check to see if the correct disk is in the drive.

  FILE NOT FOUND--{filespec}
    PIP. An input file that you have specified does not exist.

  Filename required
    ED. You typed the ED command without a filename. Reenter the ED command followed by the name of the file you want to edit or create.

  hhhh??=dd
    DDT. The ?? indicates DDT does not know how to represent the hexadecimal value dd encountered at address hhhh in 8080 assembly language. dd is not an 8080 machine instruction opcode.

  Insufficient memory
    DDT. There is not enough memory to load the file specified in an R or E command.

  Invalid Assignment
    STAT. You specified an invalid drive or file assignment, or misspelled a device name. This error message might be followed by a list of the valid file assignments that can follow a filename. If an invalid drive assignment was attempted the message Use: d:=RO is displayed, showing the proper syntax for drive assignments.

  Invalid control character
    SUBMIT. The only valid control characters in the SUBMIT files of the type SUB are ^A through ^Z. Note that in a SUBMIT file the control character is represented by typing the circumflex, ^, not by pressing the control key.

  INVALID DIGIT--{filespec}
    PIP. An invalid HEX digit has been encountered while reading a HEX file. The HEX file with the invalid HEX digit should be corrected, probably by recreating the HEX file.

  Invalid Disk Assignment
    STAT. Might appear if you follow the drive specification with anything except = R/O.

  INVALID DISK SELECT
    CP/M received a command line specifying a nonexistent drive, or the disk in the drive is improperly formatted. CP/M terminates the current program as soon as you press any key.

  INVALID DRIVE NAME (Use A, B, C, or D)
    SYSGEN. SYSGEN recognizes only drives A, B, C, and D as valid destinations for system generation.

  Invalid File Indicator
    STAT. Appears if you do not specify RO, RW, DIR, or SYS.

  INVALID FORMAT
    PIP. The format of your PIP command is illegal. See the description of the PIP command.

  INVALID HEX DIGIT
  LOAD ADDRESS hhhh
  ERROR ADDRESS hhhh
  BYTES READ:
  hhhh
    LOAD. File contains incorrect HEX digit.

  INVALID MEMORY SIZE
    MOVCPM. Specify a value less than 64K or your computer's actual memory size.

  INVALID SEPARATOR
    PIP. You have placed an invalid character for a separator between two input filenames.

  INVALID USER NUMBER
    PIP. You have specified a user number greater than 15. User numbers are in the range 0 to 15.

  n?
    USER. You specified a number greater than fifteen for a user area number. For example, if you type USER 18<cr>, the screen displays 18?.

  NO DIRECTORY SPACE
    ASM. The disk directory is full. Erase some files to make room for PRN and HEX files. The directory can usually hold only 64 filenames.

  NO DIRECTORY SPACE--{filespec}
    PIP. There is not enough directory space for the output file. You should either erase some unnecessary files or get another disk with more directory space and execute PIP again.

  NO FILE--{filespec}
    DIR, ERA, REN, PIP. CP/M cannot find the specified file, or no files exist.

    ASM. The indicated source or include file cannot be found on the indicated drive.

    DDT. The file specified in an R or E command cannot be found on the disk.

  NO INPUT FILE PRESENT ON DISK
    DUMP. The file you requested does not exist.

  No memory
    There is not enough (buffer?) memory available for loading the program specified.

  NO SOURCE FILE ON DISK
    SYSGEN. SYSGEN cannot find CP/M either in CP/Mxx.COM form or on the system tracks of the source disk.

  NO SOURCE FILE PRESENT
    ASM. The assembler cannot find the file you specified. Either you mistyped the file specification in your command line, or the filetype is not ASM.

  NO SPACE
    SAVE. Too many files are already on the disk, or no room is left on the disk to save the information.

  No SUB file Present
    SUBMIT. For SUBMIT to operate properly, you must create a file with filetype of SUB. The SUB file contains usual CP/M commands. Use one command per line.

  NOT A CHARACTER SOURCE
    PIP. The source specified in your PIP command is illegal. You have probably specified an output device as a source.

  ** NOT DELETED **
    PIP. PIP did not delete the file, which might have had the R/O attribute.

  NOT FOUND
    PIP. PIP cannot find the specified file.

  OUTPUT FILE WRITE ERROR
    ASM. You specified a write-protected disk as the destination for the PRN and HEX files, or the disk has no space left. Correct the problem before assembling your program.

  Parameter error
    SUBMIT. Within the SUBMIT file of type sub, valid parameters are $0 through $9.

  PARAMETER ERROR, TYPE RETURN TO IGNORE
    SYSGEN. If you press RETURN, SYSGEN proceeds without processing the invalid parameter.

  QUIT NOT FOUND
    PIP. The string argument to a Q parameter was not found in your input file.

  Read error
    TYPE. An error occurred when reading the file specified in the type command. Check the disk and try again. The STAT filespec command can diagnose trouble.

  READER STOPPING
    PIP. Reader operation interrupted.

  Record Too Long
    PIP. PIP cannot process a record longer than 128 bytes.

  Requires CP/M 2.0 or later
    XSUB. XSUB requires the facilities of CP/M 2.0 or newer version.

  Requires CP/M 2.0 or new for operation
    PIP. This version of PIP requires the facilities of CP/M 2.0 or newer version.

  START NOT FOUND
    PIP. The string argument to an S parameter cannot be found in the source file.

  SOURCE FILE INCOMPLETE
    SYSGEN. SYSGEN cannot use your CP/M source file.

  SOURCE FILE NAME ERROR
    ASM. When you assemble a file, you cannot use the wildcard characters " and ? in the filename. Only one file can be assembled at a time.

  SOURCE FILE READ ERROR
    ASM. The assembler cannot understand the information in the file containing the assembly-language program. Portions of another file might have been written over your assembly-language file, or information was not properly saved on the disk. Use the TYPE command to locate the error. Assembly-language files contain the letters, symbols, and numbers that appear on your keyboard. If your screen displays unrecognizable output or behaves strangely, you have found where computer instructions have crept into your file.

  SYNCHRONIZATION ERROR
    MOVCPM. The MOVCPM utility is being used with the wrong CP/M system.

  "SYSTEM" FILE NOT ACCESSIBLE
    You tried to access a file set to SYS with the STAT command.

  ** TOO MANY FILES **
    STAT. There is not enough memory for STAT to sort the files specified, or more than 512 files were specified.

  UNEXPECTED END OF HEX FILE--{filespec}
    PIP. An end-of-file was encountered prior to a termination HEX record. The HEX file without a termination record should be corrected, probably by recreating the HEX file.

  Unrecognized Destination
    PIP. Check command line for valid destination.

  Use: STAT d:=RO
    STAT. An invalid STAT drive command was given. The only valid drive assignment in STAT is STAT d:=RO.

  VERIFY ERROR:--{filespec}
    PIP. When copying with the V option, PIP found a difference when rereading the data just written and comparing it to the data in its memory buffer. Usually this indicates a failure of either the destination disk or drive.

  WRONG CP/M VERSION (REQUIRES 2.0)

  XSUB ACTIVE
    SUBMIT. XSUB has been invoked.

  XSUB ALREADY PRESENT
    SUBMIT. XSUB is already active in memory.

  Your Input?
    If CP/M cannot find the command you specified, it returns the command name you entered followed by a question mark. Check that you have typed the command line correctly, or that the command you requested exists as a COM file on the default or specified disk.

  Back to title page